package com.k8sops.backend.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.k8sops.backend.entity.DOSProjectVersion;

/**
 * 项目版本服务接口
 */
public interface DOSProjectVersionService {

    /**
     * 添加项目版本
     *
     * @param projectVersion 项目版本信息
     * @return 是否成功
     */
    boolean addProjectVersion(DOSProjectVersion projectVersion);

    /**
     * 更新项目版本
     *
     * @param projectVersion 项目版本信息
     * @return 是否成功
     */
    boolean updateProjectVersion(DOSProjectVersion projectVersion);

    /**
     * 根据ID删除项目版本
     *
     * @param id 项目版本ID
     * @return 是否成功
     */
    boolean deleteProjectVersionById(Long id);

    /**
     * 根据ID获取项目版本
     *
     * @param id 项目版本ID
     * @return 项目版本信息
     */
    DOSProjectVersion getProjectVersionById(Long id);

    /**
     * 分页查询项目版本
     *
     * @param page 页码
     * @param size 每页大小
     * @param projectId 项目ID
     * @return 分页结果
     */
    IPage<DOSProjectVersion> pageProjectVersions(Integer page, Integer size, Integer projectId);

    /**
     * 获取项目最新版本
     *
     * @param projectId 项目ID
     * @return 最新版本信息
     */
    DOSProjectVersion getLatestProjectVersion(Integer projectId);
}
